package be.ipl.diavolo.uccImpl;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import be.ipl.diavolo.dao.JoueurDao;
import be.ipl.diavolo.domaine.Joueur;
import be.ipl.diavolo.exceptions.ArgumentInvalideException;
import be.ipl.diavolo.ucc.GestionJoueur;
import be.ipl.diavolo.util.Util;

@Stateless
public class GestionJoueurImpl implements GestionJoueur {

	@EJB
	JoueurDao joueurDao;
	
	@Override
	public Joueur creerJoueur(String pseudo, String mdp) throws ArgumentInvalideException {
		Util.checkString(pseudo);
        Util.checkString(mdp);
		if(joueurDao.rechercher(pseudo) != null)
			return  null;
		Joueur joueur = new Joueur(pseudo, mdp);	
		return this.joueurDao.enregistrer(joueur);
	}
	
	@Override
	public Joueur connexion(String pseudo, String mdp) throws ArgumentInvalideException {
		Util.checkString(pseudo);
        Util.checkString(mdp);

		Joueur joueur = joueurDao.rechercher(pseudo);
		if(joueur != null && joueur.getMdp().equals(mdp)) {
			return joueur;
		} 
		return null;
	}
	
	@Override
	public Joueur rechercherJoueur(int id){
		return joueurDao.rechercher(id);
	}
	

}
